 /**
   * Copyright 2014 Viettel Telecom. All rights reserved.
   * VIETTEL PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
   */
 package com.viettel.core.bussiness.cms; 
import java.util.List; 

import com.viettel.core.exceptions.BusinessException; 
import com.viettel.core.exceptions.DataAccessException;
import com.viettel.core.entities.cms.GroupCategory;
import com.viettel.core.entities.vo.GroupCategorySearchFilter;
import com.viettel.core.entities.vo.GroupCategorySearchVO;
import com.viettel.core.entities.vo.GroupCategoryVO;
 /**
   *  Mo ta muc dich cua lop (interface)
   *  @author: TOANTM1
   *  @version:  
   *  @since: 27/02/2014 - 10:50:59
   */
 public interface GroupCategoryMgr { 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	GroupCategory getGroupCategoryById(Integer id) throws BusinessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	GroupCategory createGroupCategory(GroupCategory groupcategory) throws BusinessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	void updateGroupCategory(GroupCategory groupcategory) throws BusinessException; 
 
 	/**@author TOANTM1
  	 * 27/02/2014 - 10:50:59
  	 * For: 
  	 * @description: 
  	 */
 	void deleteGroupCategory(GroupCategory groupcategory) throws BusinessException; 
 	
 	/**
 	 * @author huanlh5
 	 * @throws DataAccessException
 	 */
 	List<GroupCategory> getAllGroupCategory() throws BusinessException;
 	
 	/**
 	 * @author huanlh5
 	 * @throws DataAccessException
 	 */
 	List<GroupCategory> getListGroupCategoryByParentId(Integer parentId) throws BusinessException;
 	
 	/**
 	 * @author huanlh5
 	 * @throws DataAccessException
 	 */
 	List<GroupCategory> getListParentGroupCategory(Integer parentId) throws BusinessException;
 	
 	/**
 	 * @author tuantm20
 	 * @throws DataAccessException
 	 */
 	List<GroupCategorySearchVO> getListGroupCategoryByFilter(GroupCategorySearchFilter filter)
			throws BusinessException;
 	
 	/**
 	 * @author huanlh5
 	 * @throws DataAccessException
 	 */
 	List<GroupCategory> getGroupCategoryNotParent() throws BusinessException;
 	
 	/**
 	 *  Lay danh sach parent&childrent loai Nong nghiep theo id
 	 *  @author: toantm1
 	 *  @since:  20-05-2014 - 18:29:04
 	 *  @Param:  Tham so cua ham
 	 *  @Return: ket qua tra ve
 	 */
 	List<GroupCategoryVO> getListGroupCategory(int groupCategoryId) throws BusinessException;
 	
 	/**
 	 * @author HUYNHDC
 	 * @throws DataAccessException
 	 */
 	public List<GroupCategorySearchVO> getListGroupCategoryParentByFilter(GroupCategorySearchFilter filter) throws BusinessException; 
 	/**
 	 * @author HUYNHDC
 	 * @throws DataAccessException
 	 */
 	public List<GroupCategorySearchVO> getListGroupCategoryChildByFilter(GroupCategorySearchFilter filter) throws BusinessException;
	/**
 	 * @author huanlh5
 	 * @throws DataAccessException
 	 */
 	List<GroupCategory> getGroupCategoryParent() throws BusinessException;
 	/**
 	 * @author HUYNHDC
 	 * @throws DataAccessException
 	 */
 	boolean checkNameExist(String userName) throws BusinessException;
} 
